# 使用 Ubuntu 22.04 作为基础镜像
FROM ubuntu:22.04

# 设置环境变量
ENV DEBIAN_FRONTEND=noninteractive \
    DOTNET_VERSION=10.0.100-rc.2.25502.107 \
    DOTNET_ROOT=/usr/share/dotnet \
    PATH=$PATH:/usr/share/dotnet:/root/.dotnet/tools

# 安装依赖
RUN apt-get update && apt-get install -y \
    curl \
    wget \
    git \
    vim \
    nano \
    build-essential \
    ca-certificates \
    libc6 \
    libgcc1 \
    libgssapi-krb5-2 \
    libicu70 \
    libssl3 \
    libstdc++6 \
    zlib1g \
    unzip \
    && rm -rf /var/lib/apt/lists/*

# 下载并安装 .NET 10 RC 2 SDK
RUN mkdir -p /usr/share/dotnet && \
    curl -SL -o dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/${DOTNET_VERSION}/dotnet-sdk-${DOTNET_VERSION}-linux-x64.tar.gz && \
    tar -zxf dotnet.tar.gz -C /usr/share/dotnet && \
    rm dotnet.tar.gz && \
    ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet

# 验证安装
RUN dotnet --version

# 配置 .NET 环境
RUN dotnet help

# 安装常用 .NET 工具
RUN dotnet tool install --global dotnet-format && \
    dotnet tool install --global dotnet-ef

# 设置工作目录
WORKDIR /workspace

# 预热 NuGet 包缓存
RUN dotnet new console -n __temp__ && \
    cd __temp__ && \
    dotnet restore && \
    cd .. && \
    rm -rf __temp__

# 设置 Git 安全目录（避免权限警告）
RUN git config --global --add safe.directory /workspace







